package serializer

// Response 基础序列化器
type Response struct {
	Status int         `json:"status"`
	Data   interface{} `json:"data,omitempty"`
	Msg    string      `json:"msg,omitempty"`
	Error  string      `json:"error,omitempty"`
}

// DataList 带分页的数据列表
type DataList struct {
	Items interface{} `json:"items"`
	Total int         `json:"total"`
}

// ListResponse 列表响应
func ListResponse(items interface{}, total int) Response {
	return Response{
		Status: 200,
		Data: DataList{
			Items: items,
			Total: total,
		},
	}
}

// ErrorResponse 错误响应
func ErrorResponse(err error) Response {
	return Response{
		Status: 500,
		Msg:    "服务器内部错误",
		Error:  err.Error(),
	}
}

type TokenData struct {
	AccessToken  string `json:"access_token"`
	RefreshToken string `json:"refresh_token"`
	Username     string `json:"username"`
}
